<template>
  <div>
    <el-container>
      <el-header class="homeHeader">
        <div class="title">微人事</div>
        <div>
          <el-button icon="el-icon-bell" type="text" style="margin-right: 8px;color: #ffffff"
                     size="normal">
          </el-button>
          <el-dropdown class="userInfo" @command="commandHandler">
                      <span class="el-dropdown-link" style="color: #ffffff">
                        {{ user.name }}<i><img :src="user.userface" alt=""></i>
                      </span>
            <el-dropdown-menu slot="dropdown">
              <el-dropdown-item command="usreInfo">个人中心</el-dropdown-item>
              <el-dropdown-item command="setting">设置</el-dropdown-item>
              <el-dropdown-item command="logout" divided>注销登录</el-dropdown-item>
            </el-dropdown-menu>
          </el-dropdown>
        </div>
      </el-header>
      <el-container>
        <el-aside class="menu-aside" width="250px">
          <el-menu router unique-opened>
            <menuTree :data="menu_data"></menuTree>
          </el-menu>
        </el-aside>
        <el-main class="container-main">
          <el-breadcrumb separator-class="el-icon-arrow-right"
                         v-if="this.$router.currentRoute.path != '/home'">
            <el-breadcrumb-item :to="{ path: '/home' }">首页</el-breadcrumb-item>
            <el-breadcrumb-item>{{ this.$router.currentRoute.name }}</el-breadcrumb-item>
          </el-breadcrumb>
          <index v-if="this.$router.currentRoute.path == '/home'"></index>
          <router-view class="homeRouterView"/>
        </el-main>
      </el-container>
    </el-container>
  </div>
</template>

<script>
import menuTree from "@/components/menuTree.vue";
import index from "@/components/index.vue";

export default {
  name: "Home",
  data() {
    return {
      //user: JSON.parse(window.sessionStorage.getItem("user")),
      //menuData: []
    }
  },
  computed: {
    menu_data() {
      return this.$store.state.routes;
    },
    user() {
      return JSON.parse(window.sessionStorage.getItem("user"));
    }
  },
  components: {
    menuTree,
    index
  },
  methods: {
    commandHandler(cmd) {
      if (cmd == 'logout') {
        this.$confirm('此操作将注销登录, 是否继续?', '提示', {
          confirmButtonText: '确定',
          cancelButtonText: '取消',
          type: 'warning'
        }).then(() => {
          this.getRequest("/logout");
          window.sessionStorage.clear(); // 清除session
          //window.sessionStorage.removeItem("user"); //user信息
          this.$store.commit('initRoutes', []); //清空store
          this.$router.replace("/");
        }).catch(() => {
          this.$message({
            type: 'info',
            message: '已取消操作'
          });
        });
      }
    }
  }
}
</script>

<style scoped>
.homeRouterView {
  margin-top: 10px;
}

.menu-aside {
  overflow: auto;
  height: calc(100vh - 60px);
}

.container-main{
  overflow: auto;
  height: calc(100vh - 60px);
}

.homeHeader {
  background-color: #409eff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0px 15px;
  box-sizing: border-box;
}

.homeHeader .title {
  font-size: 30px;
  font-family: 华文行楷;
  color: #ffffff;
}

.homeHeader .userInfo {
  cursor: pointer;
}

.el-dropdown-link img {
  width: 48px;
  height: 48px;
  border-radius: 24px;
  margin-left: 8px;
}

.el-dropdown-link {
  display: flex;
  align-items: center;
}
</style>